In a conventional computer architecture, various computer components communicate via a bus. For example, a central processing unit (CPU), a hard disk, a system memory and a floppy disk can each be connected to a system bus and can communicate with each other and with other devices connected to the system bus via the system bus. This conventional architecture has many drawbacks.
For example, if two or more devices attempt to output data to the system bus at the same time, bus contention results, thereby forcing all but one of the devices to wait a predetermined period of time and then make another attempt to transfer data over the system bus. If many devices are involved, this bus contention can bog down the system, greatly reducing its efficiency.
Another drawback of the conventional architecture is that a system bus has a specifically limited bandwidth. The only ways to increase the communication bandwidth are to increase the width (number of bits transmitted in parallel) of the system bus or to increase the bus clock associated with the system bus.
However, increasing the bus clock has an additional detrimental effect in that in order for the system to operate, each of the devices connected to the bus must have the capability to access the bus at the bus speed. Thus, when bandwidth is increased by increasing the bus clock, each of the devices connected to the bus may need to be upgraded. This requirement exists regardless of the native speed of each device, such that a device which can meet all its other operational requirements by operating at a relatively slow speed must be made unnecessarily complicated or expensive in order to communicate via a bus which operates at a relatively high speed.
Further, bus contention schemes which allocate bus bandwidth to one of a plurality of competing devices impose a significant amount of overhead on a system in order to perform collision detection. Also, by causing the devices to repetitively attempt to transmit data via the bus, the amount of bandwidth which is available for data transfer is significantly reduced.